/**
 * 
 */
package co.edu.udistrital.analyzer.business.services;

import java.io.Serializable;
import java.util.List;

import co.edu.udistrital.analyzer.business.orm.model.Param;
import co.edu.udistrital.analyzer.business.orm.model.enums.ParamName;

/**
 * Interfaz para el servicio de la capa de negocio para manejo de operaciones
 * con objetos de tipo Param
 * 
 * @author Alejo
 * 
 */
public interface ParamsService extends Serializable {
	
	/**
	 * Finds a param by key
	 * 
	 * @param key
	 * @return
	 */
	Param findParamByKey(ParamName key);
	
	/**
	 * Saves or updates a param
	 * 
	 * @param param
	 * @return
	 */
	void saveOrUpdateParam(Param param);
	
	/**
	 * Finds all params
	 * 
	 * @return
	 */
	List<Param> findAllParams();
}
